home *** CD-ROM | disk | FTP | other *** search
- # ARTemis の20×20ドット パターン文字列出力を
- # 白黒アイコンデータとしてputpict(pict.c) 用データに変換する
- #
- #static char pic_view[] = {
- # 0xfe, 20,20, Black,
- # 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- # 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xfc,0x00,0x0f,0xff,0x00,
- # 0x1b,0xfd,0x80,0x27,0xfe,0x40,0x47,0xfe,0x20,0x03,0xfc,0x00,
- # 0x11,0xf8,0x80,0x0f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- # 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- # 0xff
- #};
-
- BEGIN {
- colmenu = sprintf("%04x", 19*1024 + 19*32 + 22)
- colmenu2 = sprintf("%04x", 24*1024 + 24*32 + 24)
- colwhite = sprintf("%04x", 31*1024 + 31*32 + 31)
- colblack = sprintf("%04x", 0)
- RS = ""
- FS = "[ \t\n]"
- patxlen = patylen = 20
- }
-
- {
- printf("/* record %d: %d fields */\n", NR, NF)
- printf("static char pic_XXXX[] = {\n");
- printf("\t0xfe,\n");
- xbytes = int((patxlen + 7) / 8)
- for (i=0; i<8; i++)
- bit[i] = 2 ^ (7-i);
- for (i=0; i<xbytes*12; i++)
- {
- black[i] = 0;
- }
- for (y=0; y<patylen; y++)
- {
- for (x=0; x<patxlen; x++)
- {
- field = $(1+patxlen*y+x)
- idx = xbytes * y + int(x/8)
- if (field == colblack)
- {
- black[idx] += bit[x%8];
- }
- }
- }
- printf("\t%d,%d, Black,\n\t", patxlen,patylen);
- for (i=0; i<xbytes*patylen; i++)
- {
- printf("0x%02x,", black[i]);
- if ((i+1)%patxlen == 0) printf("\n\t");
- }
- printf("0xff\n};\n\n");
- }
-